跳到主要内容

Python 函数

在 Python 中,函数使用 def 关键字声明。

基本声明与调用​

def say_hello():
"""最简单的函数"""
print("Hello, World!")

def greet(name, greeting="Hello"):
"""name 是位置参数,greeting 是默认参数"""
print(f"{greeting}, {name}!")

say_hello() # Hello, World!
greet("Alice") # Hello, Alice!
greet("Bob", "Hi") # Hi, Bob!
greet(name="Charlie", greeting="Hey") # 关键字参数,顺序可以改变

可变参数 *args 和 **kwargs​

def sum_all(*args):
"""*args 把任意数量的位置参数收集为元组"""
return sum(args)

def print_info(**kwargs):
"""**kwargs 把任意数量的关键字参数收集为字典"""
for key, value in kwargs.items():
print(f"{key}: {value}")

print(sum_all(1, 2, 3, 4, 5)) # 15
print_info(name="Alice", age=25)
# name: Alice
# age: 25

返回值​

def add(a, b):
"""返回单个值"""
return a + b

def min_max(numbers):
"""返回多个值(实际是一个元组,可解包接收)"""
return min(numbers), max(numbers)

print(add(5, 3)) # 8
low, high = min_max([3, 1, 4, 1, 5]) # low=1, high=5

Lambda 函数(匿名函数)​

函数是一等对象,可以作为参数传递(如 sorted 的 key):

square = lambda x: x ** 2
print(square(5)) # 25

students = [("Alice", 85), ("Bob", 92), ("Charlie", 78)]
print(sorted(students, key=lambda x: x[1])) # 按分数排序